import { createApp } from 'vue';
// 路由
import router from '@/routers/index';
// pinia 状态管理
import piniaStore from '@/stores/index';

// element plus
import ElementPlus from 'element-plus';
// import 'element-plus/dist/index.css';
import '@/styles/element.scss';

// element 图标
import * as elementIcons from '@element-plus/icons-vue';

// 全局样式
import './styles/global.scss';

// 多语言 国际化
import i18n from '@/locales';

// 自定义指令
import directives from '@/directives/index';

// 根组件
import App from './App.vue';

// 生成vue根实例
const app = createApp(App);

// 注册element Icons组件
Object.keys(elementIcons).forEach((key) => {
  app.component(key, elementIcons[key as keyof typeof elementIcons]);
});

app.use(router).use(i18n).use(piniaStore).use(directives).use(ElementPlus).mount('#app');
